A Unified Framework for Partial Evaluation and Program Slicing
نویسندگان
چکیده
The emphasis on code re-usability in component-based software development has resulted in degradation of system performance. Component specialization techniques have been proposed to overcome this problem. They mainly specialize components wrt contents of component interfaces. This requires specialization to be performed in either a forward or backward direction. The current state of the art applies partial evaluation for forward specialization, but applies backward slicing for backward specialization. In this research, we investigate the relationship between partial evaluation and program slicing in general. We establish a theoretical unified framework in which we can cast both transformations. This framework captures the essence of these two techniques and enables a consistent treatment of program specialization in both forward and backward directions. This framework also make it possible to develop new specialization through cross-fertilization between existing program slicing and partial evaluation techniques.
منابع مشابه
Program Specialization via Program Slicing
This paper concerns the use of program slicing to perform a certain kind of program-specialization operation. We show that the specialization operation that slicing performs is different from the specialization operations performed by algorithms for partial evaluation, supercompilation, bifurcation, and deforestation. To study the relationship between slicing and these operations in a simplifie...
متن کاملForward Slicing of Multi-paradigm Declarative Programs Based on Partial Evaluation
Program slicing has been mainly studied in the context of imperative languages, where it has been applied to many software engineering tasks, like program understanding, maintenance, debugging, testing, code reuse, etc. This paper introduces the first forward slicing technique for multi-paradigm declarative programs. In particular, we show how program slicing can be defined in terms of online p...
متن کاملForward slicing of functional logic programs by partial evaluation
Program slicing has been mainly studied in the context of imperative languages, where it has been applied to a wide variety of software engineering tasks, like program understanding, maintenance, debugging, testing, code reuse, etc. This work introduces the first forward slicing technique for declarative multi-paradigm programs which integrate features from functional and logic programming. Bas...
متن کاملProgram Specialization Based on Dynamic Slicing
Within the imperative programming paradigm, program slicing has been widely used as a basis to solve many software engineering problems, like program understanding, debugging, testing, differencing, specialization, and merging. In this work, we present a lightweight approach to program slicing in lazy functional logic languages and discuss its potential applications in the context of pervasive ...
متن کاملA Lightweight Approach to Program Specialization⋆
Within the imperative programming paradigm, program slicing has been widely used as a basis to solve many software engineering problems, like debugging, testing, differencing, specialization, and merging. In this work, we present a lightweight approach to program specialization of lazy functional logic programs which is based on dynamic slicing. The kind of specialization performed by our appro...
متن کامل